
using System.Diagnostics;
namespace Xfinity.Collections
{
    public struct Pair<T>
    {
        private T first;

        /// <summary>
        /// Gets or sets the first item.
        /// </summary>
        /// <value>The first item.</value>
        public T First
        {
            [DebuggerStepThrough]
            get { return first; }
            [DebuggerStepThrough]
            set { first = value; }
        }
        private T second;

        /// <summary>
        /// Gets or sets the second item.
        /// </summary>
        /// <value>The second item.</value>
        public T Second
        {
            [DebuggerStepThrough]
            get { return second; }
            [DebuggerStepThrough]
            set { second = value; }
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Pair&lt;T&gt;"/> class.
        /// </summary>
        /// <param name="item">The item to set both values to.</param>
        [DebuggerStepThrough]
        public Pair(T item)
        {
            first = item;
            second = item;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="Pair&lt;T&gt;"/> class.
        /// </summary>
        /// <param name="first">The first item.</param>
        /// <param name="second">The second item.</param>
        [DebuggerStepThrough]
        public Pair(T first, T second)
        {
            this.first = first;
            this.second = second;
        }

    }
}
